package cn.iocoder.yudao.module.cmt.controller.admin.base.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import jakarta.validation.constraints.*;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 商户员工新增/修改 Request VO")
@Data
public class BaseMerchantStaffSaveReqVO {

    @Schema(description = "ID", example = "1")
    private Long id;

    @Schema(description = "社区ID", example = "1")
    private Long communityId;

    @Schema(description = "商户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "商户ID不能为空")
    private Long merchantId;

    @Schema(description = "会员ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "会员ID不能为空")
    private Long userId;

    @Schema(description = "员工姓名", example = "张三")
    private String staffName;

    @Schema(description = "员工电话", example = "13800138000")
    private String staffPhone;

    @Schema(description = "角色：1普通员工 2管理员 3超级管理员", example = "1")
    private Integer role;

    @Schema(description = "权限(JSON数组)")
    private String permissions;

    @Schema(description = "加入时间")
    private LocalDateTime joinTime;

    @Schema(description = "状态：0离职 1在职", example = "1")
    private Integer staffStatus;

    @Schema(description = "状态：0停用 1启用", example = "1")
    private Integer status;

    @Schema(description = "备注", example = "备注信息")
    private String remark;

}
